package fhp.hlhj.giantfold.customView

import android.app.Dialog
import android.content.Context
import android.os.Bundle
import cn.sharesdk.framework.Platform
import cn.sharesdk.framework.PlatformActionListener
import cn.sharesdk.onekeyshare.OnekeyShare
import com.lzy.okgo.model.HttpParams
import fhp.hlhj.giantfold.Contents
import fhp.hlhj.giantfold.R
import fhp.hlhj.giantfold.interfaces.IDayRed
import fhp.hlhj.giantfold.interfaces.IShareRed
import fhp.hlhj.giantfold.javaBean.BaseBean
import fhp.hlhj.giantfold.javaBean.GetRedBean
import fhp.hlhj.giantfold.presenter.DayRedPresenter
import fhp.hlhj.giantfold.presenter.ShareRedPresenter
import fhp.hlhj.giantfold.utils.LogUtil
import fhp.hlhj.giantfold.utils.MyUtils
import kotlinx.android.synthetic.main.ttxj_dialog.*
import java.util.HashMap

/**
 * Created by Administrator on 2018\2\10 0010.
 */
class DayRedDialog(context: Context,private val str:String,private val listener:OnOverShareListener) :Dialog(context, R.style.CustomDialog), IDayRed, IShareRed {
    private lateinit var shareRedPresenter:ShareRedPresenter
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.ttxj_dialog)
        window.setWindowAnimations(R.style.dialog_pop_anim)
        shareRedPresenter= ShareRedPresenter(this)
        if (str.equals("s")){
            tv.text="分享之后再领红包"
        }else{
            tv.text="已领取${str}元，分享再领一份现金,分享朋友圈后返回巨折领取"
        }
        btShare.setOnClickListener {
            showShare()
        }
    }
    private fun showShare() {
        val oks = OnekeyShare()
        //关闭sso授权
        oks.disableSSOWhenAuthorize()
        // title标题，印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
        oks.setTitle("邀请您参加巨折")
        // titleUrl是标题的网络链接，仅在Linked-in,QQ和QQ空间使用
        oks.setTitleUrl("http://www.baidu.com" )
        // text是分享文本，所有平台都需要这个字段
        oks.text = "扫描获得邀请码，注册成功后，邀请你的用户将获得红包奖励！"
        //分享网络图片，新浪微博分享网络图片需要通过审核后申请高级写入接口，否则请注释掉测试新浪微博
        oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg")
        // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
        //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
        // url仅在微信（包括好友和朋友圈）中使用
        oks.setUrl("http://www.baidu.com" )
        // comment是我对这条分享的评论，仅在人人网和QQ空间使用
        oks.setComment("我是测试评论文本")
        // site是分享此内容的网站名称，仅在QQ空间使用

        oks.setSite("ShareSDK")
        // siteUrl是分享此内容的网站地址，仅在QQ空间使用
        oks.setSiteUrl("http://www.baidu.com")
        // 启动分享GUI
        oks.callback=object : PlatformActionListener{
            override fun onComplete(p0: Platform?, p1: Int, p2: HashMap<String, Any>?) {
                LogUtil.logi("分享完成")
                val params = HttpParams()
                params.put("user_id",Contents.userId)
                shareRedPresenter.shareRed(params)
            }

            override fun onCancel(p0: Platform?, p1: Int) {
            }

            override fun onError(p0: Platform?, p1: Int, p2: Throwable?) {
            }
        }
        oks.show(context)

    }
    override fun showLoading() {

    }
    override fun onResp(getRedBean: GetRedBean) {
        if (getRedBean.code==200){
            tv.text="已领取${getRedBean.amount}元，分享再领一份现金,分享朋友圈后返回巨折领取"
            listener.over()
        }else{
            MyUtils.toast(getRedBean.msg)
            dismiss()
        }
    }

    override fun showloading() {
    }

    override fun onShareRedResp(baseBean: BaseBean) {
        if (baseBean.code==200){
            MyUtils.toast("分享成功，你可以再领一次红包了")
            listener.over()
            dismiss()
        }else{
            MyUtils.toast(baseBean.msg)
        }
    }

    interface OnOverShareListener{
        fun over()
    }
}